#存取钱系统初始化数据
accessList=[
{"account":"123","password":"pass","name":"Jason","money":1000.00},
{"account":"234","password":"pass","name":"Alex","money":2000.00},
{"account":"345","password":"pass","name":"Ben","money":3000.00},
]

#密码校验
def paswdchieck(paswdConst):
		count=0
		while count<3:
				paswd=input("请输入密码: ")
				if paswd==paswdConst:
						return 1
				else:
						count+=1
		return 0

#找到账号对应accessList下标加1，使用返回值作为列表的下标时要减一
def findaccount(account):
		for i in range(len(accessList)):
				if account==accessList[i]["account"]:
						#找到账号
						return i+1
		else:
				return 0

#账号操作
def accountaccess(no):
		'''
		这里是账号操作界面可以做存钱，取钱和查询的操作
		'''
		while True:
				print("="*12,"账号操作界面","="*12)
				print("欢迎您:{}".format(accessList[no]["name"]))
				print("1.查看账号余额: ")
				print("2.存钱: ")
				print("3.取钱: ")
				print("4.退出账号操作: ")
				choice=input("请输入对应操作的编号: ")
				
				if choice=="4":
						break		
				if choice=="1":
						print("您的账号余额是：{:.02f}".format(accessList[no]["money"]))
						input("请按回车继续:")
				if choice=="2":
						addMoney=input("您存入的金额是: ")
						accessList[no]["money"]+=float(addMoney)
						input("请按回车继续:")
				if choice=="3":
						drawMoney=input("您取出的金额是: ")
						if accessList[no]["money"]>=float(drawMoney):
								accessList[no]["money"]-=float(drawMoney)
						else:
								print("没有足够的钱可以取出")
								input("请按回车继续:")
		return
				
def login():
		'''
		系统登录函数，通过用户输入的账号
		在初始化列表中寻找，如果没找到退回主页面
		如果找到允许用户输入三次密码，密码正确，现实登录成功
		密码错误，登录失败退回主页面
		'''
		account=input("请输入账号：")
		#找到账号
		no=findaccount(account)
		if no>0:
						#密码校验成功
						if paswdchieck(accessList[no-1]["password"]):			
								accountaccess(no-1)
						else:
								print("您3次输入密码不对!")
		else:
				print("="*12,"账号不存在!","="*12)
				input("请按回车继续:")
		return

def register():
		'''
		这是注册函数，可以注册新的账户，用户输入已经存在的账户提示直接登录
		输入不存在的账户注册新账号
		'''
		registerCount=0
		accessSingel={}
		accessSingel['account']=input("请输入账号：")
		no=findaccount(accessSingel['account'])
		if no>0:
				print("账号已经存在，请直接登录")
				return
		while registerCount<3:
				accessSingel['name']=input("请输入姓名：")
				pswd=input("请输入密码: ")
				pswdagin=input("请确认密码: ")
				if pswd==pswdagin:
						accessSingel['password']=pswdagin
						accessSingel['money']=0.0
						accessList.append(accessSingel)
						print("密码设置成功，注册账号生效!!!")
						return
				else: 
						print("两次密码不一致：")
						registerCount+=1
		print("注册失败！！！")
		return
		
		
#输出初始化界面
while True:
		print("="*12,"存取钱系统界面","="*12)
		print("1.登录系统")
		print("2.注册新账号")
		print("3.退出")
		print("="*40)
		choice=input("请输入对应操作的编号: ")

		#根据不同的输入进行不同的操作
		if choice=="1":
				print("="*12,"存取钱系统登录","="*12)
				login()
		elif choice=="2":
				print("="*12,"存取钱系统注册","="*12)
				register()
		elif choice=="3":
				print("="*12,"再见","="*12)
				break
		else:
				print("请输入有效的编号")